草庐IT

c++ - 对 boost::timer::auto_cpu_timer 的 undefined reference

全部标签

c++ - 从另一个应用程序窗口获取焦点控件的句柄

我有一个应用程序有一些控件(按钮、编辑等)的窗口。我需要模拟用户事件(如Tab单击和输入文本)。我正在使用keybd_event在制表符排序控件(编辑框)之间移动焦点并向它们输入文本。但我需要知道当前焦点控件的句柄(例如从中获取文本或更改其样式)。我该如何解决?附言我现在正在编写Delphi,但这并不重要(Win-API无处不在)。 最佳答案 请参阅GetFocus中的备注部分'用于解释以下示例的文档。functionGetFocus:HWND;varWnd:HWND;TId,PId:DWORD;beginResult:=windo

c - 确定 shell 扩展是作为上下文菜单处理程序还是拖放处理程序调用

我想以编程方式确定我的外壳扩展是作为上下文菜单处理程序还是拖放处理程序调用的。我已经在正确的位置使用相同的CLSID注册了我的shell扩展。注册表:[HKEY_CLASSES_ROOT\*\shellex\ContextMenuHandlers\{E991C840-C1EB-455C-AD64-282473005C58}]@="TestContextMenu"[HKEY_CLASSES_ROOT\Directory\shellex\DragDropHandlers\TestDragDrop]@="{E991C840-C1EB-455C-AD64-282473005C58}"我的注册表

c++ - GetQueuedCompletionStatusEx() 不返回 per-OVERLAPPED 错误代码

我正在使用GetQueuedCompletionStatusEx()api,我刚刚意识到它确实可以在1个系统调用中读取N个OVERLAPPED数据包,而不是只有1个OVERLAPPED,例如GetQueuedCompletionStatus(),但我担心的是我对每个OVERLAPPED错误代码一无所知。虽然GetQueuedCompletionStatus()每次调用仅返回1个OVERLAPPED,但它使我能够调用GetLastError()检查当前OVERLAPPED数据包的最后一个错误.我如何使用GetQueuedCompletionStatusEx()执行此操作,它实际上返回N个

c++ - OpenProcess/ReadProcessMemory/WriteProcessMemory/CloseHandle 等效项

这些Windows函数的等效API是什么?如果您不熟悉Windows函数,它们所做的只是打开一个进程,访问(读取和写入)它的内存并关闭它的句柄。这也可以只用系统调用来完成吗? 最佳答案 您正在寻找ptrace.尽管名称如此,它也将针对Linux和可能的其他系统上的单个线程。如果该博文没有帮助,可以通过Google找到更多信息。 关于c++-OpenProcess/ReadProcessMemory/WriteProcessMemory/CloseHandle等效项,我们在StackOve

c - 将内核添加到 Windows 启动菜单

我正在尝试启动内核,但遇到了问题在Windows启动菜单上获取它。我已经编写并构建了带有thisguide的小型测试内核,但我不知道该怎么做获取实际的PE文件以连接到启动菜单。我读了here和here您使用BCDedit将其添加到启动菜单,所以我试着这样做:bcdedit/create/d"TestBoot"/applicationbootsector//gavetheguid:{1c8a5e74-84ff-11e3-a4da-8050f0e41ed6}bcdedit/set{1c8a5e74-84ff-11e3-a4da-8050f0e41ed6}path\Users\Taylor\

c - 如何在Windows下用c创建管道

我试图在我的c程序中创建一个管道,以将数据输入到另一个程序myProgram.exe。我需要做的就是让myProgram运行并从主程序发送“退出”。问题是我不知道如何在c中创建管道。我在某处得到了一个有效的Perl示例:open(myHandle,".../myProgram.exe");//...(dosomethingelse)...printf(myHandle,"quit");close(myHandle);有人可以帮我把它翻译成C代码吗?请记住,我在Windows下运行,因此没有可用的unistd.h。干杯,B 最佳答案

c - 为什么此代码将正弦曲线倒置打印

生成的y值似乎是正确的。请参阅printf打印输出,它打印出递增的y值。但是当发送到SetPixel函数时,它似乎打印出正弦曲线,就像乘以-1一样???怎么了?#include//#include#includeintmain(){HWNDconsole=GetConsoleWindow();HDCdc=GetDC(console);intpixel=0;COLORREFC1=RGB(255,0,0);/*red*/for(doublei=0;i反馈后由于Windows坐标系从左上角开始(0,0),您可以像这样更改sin函数的符号:SetPixel(dc,pixel,(int)(100

c# - 文件移动——操作系统如何知道是更新主文件表还是复制和删除?

在阅读了关于如何判断两个文件是否在同一个物理卷上的问题,并看到它(几乎)不可能(例如here)后,我想知道操作系统如何知道一个文件是否移动操作应该更新一个主文件表(或等同物)或是否复制和删除。Windows是否以某种方式将其委托(delegate)给驱动器?(或者也许操作系统确实有关于每个文件的信息,只是程序无法访问它?不太可能。)或者-Windows是否只知道某些类型的驱动器(以及在其他情况下的复制和删除)?在这种情况下,我们也可以假设相同。例如,这意味着允许文件移动而不使用后台线程。(因为它几乎是瞬时的。)我正在努力更好地理解这个主题。如果我做出了一些基本的错误假设-请纠正它本身就

c - 从 _popen 隐藏控制台

我的应用程序不是控制台应用程序。我正在使用_popen从我的代码运行命令行命令。_popen进程运行时会出现一个控制台窗口。我想隐藏这个窗口。 最佳答案 使用ShellExecute()而不是_popen()或system()。https://msdn.microsoft.com/en-us/library/windows/desktop/bb762153%28v=vs.85%29.aspx更多详情:https://msdn.microsoft.com/en-us/library/windows/desktop/bb776886(v

c++ - 如何在windows上获取cpu上的实际内核数?

这个问题在这里已经有了答案:HowtogetnumberofcoresinWin32?(5个答案)关闭7年前。我知道std::thread::hardware_concurrency()的存在,但它返回虚拟内核的数量。当它以物理内核数为目标时,该算法可以发挥最佳效果(好5-10%)。我如何在Windows上用C++获取该数字?